<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
      <link rel="stylesheet" href="https://gw.alipayobjects.com/os/rmsportal/PqLCOJpqoOUfuPRacUzE.css" />
    <title>气泡图</title>
    <style> ::-webkit-scrollbar{display:none;}html,body{overflow:hidden;margin:0;}
    	#map { position:absolute; top:0; bottom:0; width:100%; }
    </style>
</head>
<body>
<div id="map"></div>
<script>/*Fixing iframe window.innerHeight 0 issue in Safari*/ document.body.clientHeight; </script>
<script src="https://webapi.amap.com/maps?v=1.4.8&key=15cd8a57710d40c9b7c0e3cc120f1200&plugin=Map3D"></script>
<script src="https://gw.alipayobjects.com/os/antv/assets/lib/jquery-3.2.1.min.js"></script>
<script src="https://gw.alipayobjects.com/os/antv/pkg/_antv.g2-3.5.1/dist/g2.min.js"></script>
<script src="../build/l7.js"></script>
 <style>
	#map { position:absolute; top:0; bottom:0; width:100%; }
 </style>
<script>
  G2.Global.renderer = 'svg'
  var scene = new L7.Scene({
    id: 'map',
    mapStyle: 'light', // 样式URL
    center: [120.19382669582967, 30.258134],
    pitch: 0,
    minZoom:5,
    maxZoom:15,
    zoom: 3
  });
  window.scene = scene;
  scene.on('loaded', function() {
    $.getJSON('https://gw.alipayobjects.com/os/rmsportal/UpapMomPYUeiBjbHNAma.json', region => {
      const color = [ 'rgb(22,32,101)', 'rgb(28,43,127)', 'rgb(36,68,142)', 'rgb(45,94,158)', 'rgb(53,119,174)', 'rgb(61,145,190)', 'rgb(70,170,206)', 'rgb(98,190,210)', 'rgb(138,205,206)', 'rgb(179,221,204)', 'rgb(220,236,201)' ];
      var points = region.features.map((feature)=>{
          return feature.properties;
      })
      
      const layer = scene.PolygonLayer({
          zIndex:1,
      })
        .source(region)
        .color('cname',(value)=>{
            return (value =='中国' ? 'rgba(46,149,169,0.45)': 'rgba(227,244,244,0.1)');
        })
        .shape('fill')
        .render();
    });
    $.getJSON('https://gw.alipayobjects.com/os/basement_prod/0b96cca4-7e83-449a-93d0-2a77053e74ab.json', function(data) {
        scene.PointLayer()
        .source(data.nodes,{
          parser:{ 
            type:'json',
            coordinates:'coordinates',
          }
        })
        .shape('circle')
        .color('#f00')
        .size(8)
        .render();
        data.nodes.forEach(item=>{
            const el = document.createElement('div');
            const total = item.gdp.Agriculture + item.gdp.Industry + item.gdp.Service;
            
            const size =Math.max(Math.min(parseInt(total / 20000), 150),40)
            var data = [{
            item: 'Agriculture',
            count: item.gdp.Agriculture,
            percent: item.gdp.Agriculture / total
          }, {
            item: 'Industry',
            count: item.gdp.Industry,
            percent: item.gdp.Industry / total 
          }, {
            item: 'Service',
            count: item.gdp.Service,
            percent: item.gdp.Service / total
          }];
          var chart = new G2.Chart({
            container: el,
            width:size,
            height:size,
            render:'svg',
            padding:5,
          });
          chart.source(data, {
            percent: {
              formatter: function formatter(val) {
                val = val * 100 + '%';
                return val;
              }
            }
          });
          chart.coord('theta', {
            radius: 1.0
          });
          chart.legend(false);
          chart.tooltip(false);
          chart.intervalStack().position('percent').color('item').style({
            lineWidth: 1,
            stroke: '#fff'
          });
          chart.render();
            const popup = new L7.Popup({anchor:'left'}).setText(item.name);
            const marker = new L7.Marker({color:'blue', element:el})
            .setLnglat( item.coordinates)
            .setPopup(popup)
            .addTo(scene);


        })
       
    })
  });



</script>
</body>
</html>
